pip install scikit-optimize
from skopt import gp_minimize
from skopt.space import Real
from skopt.utils import use_named_args
# 定義目標函數
@use_named_args(dimensions=[Real(-5, 5, name='x')])
def objective(x):
return (x**2).sum()
# 進行優化
result = gp_minimize(objective, dimensions=[(-5, 5)])
# 輸出結果
print(f'Optimized value: {result.fun}')
print(f'Optimized point: {result.x}')
在這個案例中,我們首先導入了 Scikit-Optimize 庫,並定義了一個簡單的目標函數 objective,這里的目標是最小化 x^2 的和。我們使用了 @use_named_args 裝飾器將參數命名為 x。我們使用 gp_minimize 函數進行貝葉斯優化,傳遞了目標函數和搜索空間的維度